
package Funcionalidad;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Calendar;

public class C_posts {

    private static final String controlador = "com.mysql.jdbc.Driver";
    private static final String url = "jdbc:mysql://localhost/flog";
    private static final String usuario = "root";
    private static final String clave = "";


    static {
        try {
            Class.forName(controlador);
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException("Error creating driver" + " class. Cause: " + e);
        }
    }
//int id_cpost, int id_post, String user, String fecha, String comentario
//devuelve  una frase para los comentarios que hay en el post que se pasa como parametro
    public static String N_Comentarios(int id_post) throws Exception {

        int num = 0;
        Connection conexion = (com.mysql.jdbc.Connection) DriverManager.getConnection(url, usuario, clave);
        Statement solicitud = (Statement) conexion.createStatement();
        ResultSet resultados = solicitud.executeQuery("SELECT count(*) as numero from comentario_post where id_post=" + id_post);
        while (resultados.next()) {
            num = Integer.parseInt(resultados.getString("numero"));
        }
        resultados.close();
        solicitud.close();
        conexion.close();
        String s = "";
        if (num == 0) {
            s = "<h5>S&eacute; el primero en escribir un comentario</h5>";
        } else if (num == 1) {
            s = "<h5>1 comentario</h5>";
        } else {
            s = "<h5>" + num + " comentarios</h5>";
        }
        return s;
    }

    public static C_post ResultSetToC_post(ResultSet resultado) throws SQLException {
        return new C_post(resultado.getInt("id_cpost"), resultado.getString("user"), resultado.getInt("id_post"), resultado.getString("fecha"), resultado.getString("comentario"));
    }

    public static List<C_post> getComentarios(int id_post) throws Exception {

        List<C_post> lista = new ArrayList();
        Connection conexion = (com.mysql.jdbc.Connection) DriverManager.getConnection(url, usuario, clave);
        Statement solicitud = (Statement) conexion.createStatement();
        ResultSet resultados = solicitud.executeQuery("SELECT * FROM `comentario_post`group by `id_cpost` having id_post=" + id_post + " ORDER BY `id_cpost` desc");
        while (resultados.next()) {
            C_post post = C_posts.ResultSetToC_post(resultados);
            lista.add(post);
        }
        resultados.close();
        solicitud.close();
        conexion.close();

        return lista;
    }

   public static void borraComentarioPost(int id_cpost) throws Exception {
        Connection conexion = (com.mysql.jdbc.Connection) DriverManager.getConnection(url, usuario, clave);
        //solicitud/recepcion de peticiones
        Statement solicitud = (Statement) conexion.createStatement();
        int m = solicitud.executeUpdate("DELETE FROM comentario_post where id_cpost=" + id_cpost);
        solicitud.close();
        conexion.close();
    }
   public static void nuevoComentarioPost(int id_post,String user, String comentario) throws Exception {
        Connection conexion = (com.mysql.jdbc.Connection) DriverManager.getConnection(url, usuario, clave);
        //solicitud/recepcion de peticiones
        Statement solicitud = (Statement) conexion.createStatement();
        //try{
        /*int m = */solicitud.executeUpdate("INSERT INTO comentario_post (id_post,user,fecha,comentario) values("+id_post+",'"+user+"','"+Habituales.fechaActual()+"','"+comentario+"')");
        //}catch(Exception e){}

        solicitud.close();
        conexion.close();
    }
}
